﻿using System.Collections.Generic;
using ZilLion.Service.ZilLionOss.Domain.Entitys;

namespace ZilLion.Service.ZilLionOss.Domain.Services.Interface
{
    public interface IOssRouteService
    {
        /// <summary>
        /// 根据key 获取route
        /// </summary>
        /// <param name="companykey"></param>
        /// <returns></returns>
        IList<OssRouteInfoEntity> GetRouteByCompanykey(string companykey);

        /// <summary>
        /// 获取租户所有模块路由
        /// </summary>
        /// <returns></returns>
        IList<OssRouteInfoEntity> GetRouteByCompanyModule(string companykey);
        /// <summary>
        ///     获取全部路由
        /// </summary>
        /// <returns></returns>
        IList<OssRouteInfoEntity> GetAllRoute();

        /// <summary>
        ///     获取岗位的所有制定roleid
        /// </summary>
        /// <returns></returns>
        IList<OssRouteInfoEntity> GetRoleRoutes(long roleid);

        /// <summary>
        ///     更新系统路由信息
        /// </summary>
        /// <param name="jsonEntity"></param>
        /// <param name="ossRouteInfos"></param>
        void UpdateRouteJson(OssRouteJsonEntity jsonEntity, IList<OssRouteInfoEntity> ossRouteInfos);

        /// <summary>
        ///     获取系统路由JSON
        /// </summary>
        /// <returns></returns>
        OssRouteJsonEntity GetRouteJson();
    }
}